import java.util.Scanner;

/**
 *   DD爱框框(滑动窗口)
 *   动态规划
 *     读入n， z,给出n个数a[1],a[2],.....,aln]求最小的区间儿,，
 *     使all]+ all+ 1]+.....+ar>x，
 *      若存在相同长度区间，输出最小的那个
 *
 *      算法原理:
 */
public class test4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int z = sc.nextInt();
        int[] a = new int[n+1];
        for(int i = 1; i <= n; i++) {
            a[i] = sc.nextInt();
        }

        int left = 1,right = 1;
        int minLeft = -1, minRight = -1,retLen = Integer.MAX_VALUE;
        int sum = 0;//长度

        while(right <= n) {
            sum += a[right];
            while(sum >= z) {
                if(right - left + 1 < retLen) {    //长度比较
                    retLen = right - left +1;
                    minLeft = left;
                    minRight = right;
                }
                sum -= a[left++];
            }
            right ++;
        }
        System.out.println(minLeft+" "+minRight);
    }
    /**
     * 同向双指针
     * 必须都是正数
     */
    /**
     * 暴力解法
     * @param n
     * @param z
     * @param a
     * @return
     */
//    public static int IsMin(int n, int z, int[] a) {
//        int left = 0;
//        int right = 0;
//        int minLeft = 0;
//        int minRight = 0;
//        while(left < n && left <= right) {
//            if(a[left] + a[right] < z) {
//                right++;
//            }
//            if(a[left] + a[right] >= z) {
//                left++;
//                right++;
//
//                if(right < n)
//                return right - left;
//            }
//        }
//        return Integer.MAX_VALUE;
//    }


}
